Keep system status bar out of the Action Bar area #637
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Google is transitioning all apps to work edge-to-edge. As CreateAI has a fixed ActionBar, it makes sense for this bar to be the component that extends to the top of the screen.
As a minor design decision: if you extend the ActionBar to the top of the screen, with the buttons appearing in the safe area beneath the status bar, the ActionBar buttons look misaligned on the vertical axis. As an initial approach I have darkened the colour beneath the status bar a little to provide contrast. MakeCode looks fine with solid blue, so I have kept the default colour.
Android Chromium webviews less than version 140 do not correctly support edge-to-edge. In versions of the WebView that do not have edge-to-edge capability, this functionality is inert and the safe-area plugin transitions us safely back to a non-edge-to-edge layout with a solid status bar. The introduction to the readme for safe-area contains additional context about why this is not always trivial on Android.
On android 35 emulator, the status bar seems inordinately big compared to android 36, but still usable.
iOS is always edge to edge.
Screenshots
Android 36, older webview
Android 36, newer webview
Android 35, older webview
Android 35, newer webview
iOS 16